package com.atguigu.interpreter;

import java.util.HashMap;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description:
 * @create: 2022-03-13 14:57
 **/
public class SubExpression extends SymbolExpression{
    /**
     * 构建左和右的表达式
     *
     * @param left  左表达式
     * @param right 右表达式
     */
    public SubExpression(Expression left, Expression right) {
        super(left, right);
    }

    /**
     * 求出left 和 right 表达式相减的结果
     * @param var hashMap {a=10, b=20}
     * @return
     */
    @Override
    public int interpreter(HashMap<String, Integer> var) {
        return super.left.interpreter(var) - super.right.interpreter(var);
    }
}
